// 超时时间为1h

const esp = 12 * 3600 * 1000;

// 存储数据时添加过期时间
function setLocalStorageWithExpiry(key: any, value: any, ttl: number): void {
    const now = new Date();
    // `ttl` 是时间到存活（milliseconds）
    const item = {
        value: value,
        expiry: now.getTime() + ttl,
    };
    localStorage.setItem(key, JSON.stringify(item));
}

// 获取数据并检查是否过期
function getLocalStorageWithExpiry(key: any) {
    const itemStr = localStorage.getItem(key);
    // 如果未找到项，则返回null
    if (!itemStr) {
        return null;
    }
    const item = JSON.parse(itemStr);
    const now = new Date();
    // 如果当前时间超过了过期时间，则删除该项并返回null
    if (now.getTime() > item.expiry) {
        localStorage.removeItem(key);
        return null;
    }
    return item.value;
}


export function getUserInfo(){
    let user = getLocalStorageWithExpiry('user');
    return JSON.parse(user || '{}')
}
export function setUserInfo(user: Object){
    setLocalStorageWithExpiry('user', JSON.stringify(user), esp)

}
export function removeUserInfo(){
    localStorage.removeItem('user')
}

export function setFileBrowserSortConfig(config: any) {
    localStorage.setItem('fileBrowserSortConfig', config);
}

export function getFileBrowserSortConfig(): string {
    let config = localStorage.getItem('fileBrowserSortConfig');
    if (!config || config === '') {
        config = 'name-asc'
        setFileBrowserSortConfig(config);
    }
    return config;
}